import { ReactNode } from 'react';

export interface menuConfigFullProps {
  id: string;
  title: string;
  component: any;
}

interface pathChildrenProps {
  path: string;
  exact?: boolean;
  component: ReactNode;
}
export interface menuConfigChildrenProps {
  name: string;
  authority?: string[];
  severalLevels: string;
  path: string | pathChildrenProps[];
  component?: ReactNode;
}

export interface menuConfigProps {
  [projectName: string]: {
    id: string;
    name: string;
    severalLevels: string;
    path?: string;
    component?: ReactNode;
    icon?: string;
    children?: menuConfigChildrenProps[];
  }[];
}

export interface componentsProps {
  [projectName: string]: ReactNode;
}

export interface menuConfigTopProps {
  id: string;
  name: string;
  icon: string;
  path: string;
  openKeys: string;
}
